package com.originskyseed.platform.task.model;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import org.springframework.data.annotation.Transient;

import com.originskyseed.platform.core.base.BaseModel;
import com.originskyseed.platform.user.model.UserInfo;

/**
 * 任务表（OSI_TASK）
 *
 * @author wlj
 */
public class Task extends BaseModel {

	/**
	 * 编号（CODE）
	 */
	private String code;

	/**
	 * 名称（NAME）
	 */
	private String name;

	/**
	 * 任务类型 1维护任务 2推广任务 3学习任务 4培训任务 5其他任务
	 */
	private Integer type;

	/**
	 * 描述（CONTENT）
	 */
	private String content;

	/**
	 * 开始时间（BEGIN_TIME）
	 */
	private Date beginTime;

	/**
	 * 结束时间（END_TIME）
	 */
	private Date endTime;

	/**
	 * 勋章路径（MEDAL_PATH）
	 */
	private String medalPath;

	/**
	 * 创建人id（CREATOR_ID）
	 */
	private String creatorId;

	/**
	 * 创建人（CREATOR）
	 */
	private String creator;

	/**
	 * 状态状态 0未开始 1未完成、2完成、3延期、4关闭（STATE）
	 */
	private Integer state;

	/**
	 * 是否删除 1是 2否（IS_DEL）
	 */
	private Integer isDel;

	/**
	 * 是否上架 1是 2否（IS_ENABLE）
	 */
	private Integer isEnable;

	/**
	 * 任务阶段
	 */
	private String stage;

	/**
	 * 是否线上考试 1是 2否（IS_ONLINE_EXAM）
	 */
	private Integer isOnlineExam;

	/**
	 * 考卷id（PAPER_ID）
	 */
	private String paperId;

	/**
	 * 优先级（PRORITY）
	 */
	private Integer prority;

	/**
	 * 完成时间（FINISH_TIME）
	 */
	private Date finishTime;

	/**
	 * 链接数量（LINK_NUM）
	 */
	private Integer linkNum;

	/* 非本表字段 */

	/**
	 * 家族名称
	 */
	private String familyName;

	/**
	 * 主播昵称
	 */
	private String anchorNickName;

	/**
	 * 主播ID
	 */
	private String anchorId;

	/**
	 * 主播图像
	 */
	private String anchorImgUrl;

	/**
	 * 用户名称
	 */
	private String ui_name;
	/**
	 * 发布时间距离当前时间
	 */
	@Transient
	private String timeforMat;

	/**
	 * 用户ID
	 */
	private String userId;

	/**
	 * 业务员ID
	 */
	private String salesmanId;

	/**
	 * 任务完成时间（指派人表信息）
	 */
	private Date completime;

	/**
	 * 用户信息表
	 */
	private List<UserInfo> userInfoList;

	/**
	 * 指派人名称
	 */
	private String assignPersionName;

	/**
	 * 指派人Id
	 */
	private String assignPersionId;

	/**
	 * 指派人相对任务状态
	 */
	private Integer assignPersionState;

	/**
	 * 是否评价（0-否 1-是）
	 */
	private Integer isEvaluate;

	/**
	 * 维护对象名称 推广任务时用到
	 */
	private String maintainUser;

	/**
	 * 用户类型 1业务员 2主播
	 */
	private Integer userType;

	/**
	 * 第三方账号（主播ID）
	 */
	private String otherAccount;

	/**
	 * 能否已经考试 1是 0否
	 */
	private Integer isExam;

	/**
	 * 考试是否通过 1是 0否 2未开始
	 */
	private Integer isPass;

	/**
	 * 能否查看考卷 1是 0否
	 */
	private Integer isViewPaper;

	/**
	 * 是否达到接单上限 1是 0否
	 */
	private Integer isReach;

	/**
	 * 附件名称
	 */
	private String fileName;

	/**
	 * 附件路径
	 */
	private String filePath;

	/**
	 * 是否添加联系方式 0否 1是
	 */
	private Integer isContact;

	/**
	 * 籍贯
	 */
	private String nativePlace;

	/**
	 * 转换率
	 */
	private BigDecimal changeRate;

	/**
	 * 渠道推广用户数
	 */
	private Integer extensionUserNum;

	/**
	 * 渠道推广优质用户数
	 */
	private Integer extensionHighQualityNum;

	/**
	 * 是否已读  1是 2否
	 */
	private Integer isRead;



	public BigDecimal getChangeRate() {
		return changeRate;
	}

	public void setChangeRate(BigDecimal changeRate) {
		this.changeRate = changeRate;
	}

	public String getNativePlace() {
		return nativePlace;
	}

	public void setNativePlace(String nativePlace) {
		this.nativePlace = nativePlace;
	}

	public Integer getIsContact() {
		return isContact;
	}

	public void setIsContact(Integer isContact) {
		this.isContact = isContact;
	}

	public String getFileName() {
		return fileName;
	}

	public void setFileName(String fileName) {
		this.fileName = fileName;
	}

	public String getFilePath() {
		return filePath;
	}

	public void setFilePath(String filePath) {
		this.filePath = filePath;
	}

	public Integer getIsReach() {
		return isReach;
	}

	public void setIsReach(Integer isReach) {
		this.isReach = isReach;
	}

	public Integer getIsExam() {
		return isExam;
	}

	public void setIsExam(Integer isExam) {
		this.isExam = isExam;
	}

	public String getOtherAccount() {
		return otherAccount;
	}

	public void setOtherAccount(String otherAccount) {
		this.otherAccount = otherAccount;
	}

	public Integer getUserType() {
		return userType;
	}

	public void setUserType(Integer userType) {
		this.userType = userType;
	}

	public String getMaintainUser() {
		return maintainUser;
	}

	public void setMaintainUser(String maintainUser) {
		this.maintainUser = maintainUser;
	}

	public String getMedalPath() {
		return medalPath;
	}

	public void setMedalPath(String medalPath) {
		this.medalPath = medalPath;
	}

	public Integer getIsEvaluate() {
		return isEvaluate;
	}

	public void setIsEvaluate(Integer isEvaluate) {
		this.isEvaluate = isEvaluate;
	}

	public Date getCompletime() {
		return completime;
	}

	public void setCompletime(Date completime) {
		this.completime = completime;
	}

	public Integer getAssignPersionState() {
		return assignPersionState;
	}

	public void setAssignPersionState(Integer assignPersionState) {
		this.assignPersionState = assignPersionState;
	}

	public String getPaperId() {
		return paperId;
	}

	public void setPaperId(String paperId) {
		this.paperId = paperId;
	}

	public String getUi_name() {
		return ui_name;
	}

	public void setUi_name(String ui_name) {
		this.ui_name = ui_name;
	}

	public Integer getLinkNum() {
		return linkNum;
	}

	public void setLinkNum(Integer linkNum) {
		this.linkNum = linkNum;
	}

	public String getAssignPersionId() {
		return assignPersionId;
	}

	public void setAssignPersionId(String assignPersionId) {
		this.assignPersionId = assignPersionId;
	}

	public String getFamilyName() {
		return familyName;
	}

	public void setFamilyName(String familyName) {
		this.familyName = familyName;
	}

	public String getAnchorNickName() {
		return anchorNickName;
	}

	public void setAnchorNickName(String anchorNickName) {
		this.anchorNickName = anchorNickName;
	}

	public String getAnchorId() {
		return anchorId;
	}

	public void setAnchorId(String anchorId) {
		this.anchorId = anchorId;
	}

	public String getAssignPersionName() {
		return assignPersionName;
	}

	public void setAssignPersionName(String assignPersionName) {
		this.assignPersionName = assignPersionName;
	}

	public String getStage() {
		return stage;
	}

	public void setStage(String stage) {
		this.stage = stage;
	}

	public List<UserInfo> getUserInfoList() {
		return userInfoList;
	}

	public void setUserInfoList(List<UserInfo> userInfoList) {
		this.userInfoList = userInfoList;
	}

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	public String getSalesmanId() {
		return salesmanId;
	}

	public void setSalesmanId(String salesmanId) {
		this.salesmanId = salesmanId;
	}

	public String getTimeforMat() {
		return timeforMat;
	}

	public void setTimeforMat(String timeforMat) {
		this.timeforMat = timeforMat;
	}

	/**
	 * 获取编号
	 *
	 * @return
	 */
	public String getCode() {
		return this.code;
	}

	/**
	 * 设置编号
	 *
	 * @param code
	 */
	public void setCode(String code) {
		this.code = code;
	}

	/**
	 * 获取名称
	 *
	 * @return
	 */
	public String getName() {
		return this.name;
	}

	/**
	 * 设置名称
	 *
	 * @param name
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 获取任务类型 1维护任务 2其它任务 3学习任务
	 *
	 * @return
	 */
	public Integer getType() {
		return this.type;
	}

	/**
	 * 设置任务类型 1维护任务 2其它任务 3学习任务
	 *
	 * @param type
	 */
	public void setType(Integer type) {
		this.type = type;
	}

	/**
	 * 获取描述
	 *
	 * @return
	 */
	public String getContent() {
		return this.content;
	}

	/**
	 * 设置描述
	 *
	 * @param content
	 */
	public void setContent(String content) {
		this.content = content;
	}

	/**
	 * 获取开始时间
	 *
	 * @return
	 */
	public Date getBeginTime() {
		return this.beginTime;
	}

	/**
	 * 设置开始时间
	 *
	 * @param beginTime
	 */
	public void setBeginTime(Date beginTime) {
		this.beginTime = beginTime;
	}

	/**
	 * 获取结束时间
	 *
	 * @return
	 */
	public Date getEndTime() {
		return this.endTime;
	}

	/**
	 * 设置结束时间
	 *
	 * @param endTime
	 */
	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	/**
	 * 获取创建人id
	 *
	 * @return
	 */
	public String getCreatorId() {
		return this.creatorId;
	}

	/**
	 * 设置创建人id
	 *
	 * @param creatorId
	 */
	public void setCreatorId(String creatorId) {
		this.creatorId = creatorId;
	}

	/**
	 * 获取创建人
	 *
	 * @return
	 */
	public String getCreator() {
		return this.creator;
	}

	/**
	 * 设置创建人
	 *
	 * @param creator
	 */
	public void setCreator(String creator) {
		this.creator = creator;
	}

	/**
	 * 获取状态 1未完成、2完成、3延期、4关闭
	 *
	 * @return
	 */
	public Integer getState() {
		return this.state;
	}

	/**
	 * 设置状态 1未完成、2完成、3延期、4关闭
	 *
	 * @param state
	 */
	public void setState(Integer state) {
		this.state = state;
	}

	/**
	 * 获取是否删除 1是 2否
	 *
	 * @return
	 */
	public Integer getIsDel() {
		return this.isDel;
	}

	/**
	 * 设置是否删除 1是 2否
	 *
	 * @param isDel
	 */
	public void setIsDel(Integer isDel) {
		this.isDel = isDel;
	}

	/**
	 * 获取是否启用 1是 2否
	 *
	 * @return
	 */
	public Integer getIsEnable() {
		return this.isEnable;
	}

	/**
	 * 设置是否启用 1是 2否
	 *
	 * @param isEnable
	 */
	public void setIsEnable(Integer isEnable) {
		this.isEnable = isEnable;
	}

	/**
	 * 获取是否线上考试 1是 2否
	 *
	 * @return
	 */
	public Integer getIsOnlineExam() {
		return this.isOnlineExam;
	}

	/**
	 * 设置是否线上考试 1是 2否
	 *
	 * @param isOnlineExam
	 */
	public void setIsOnlineExam(Integer isOnlineExam) {
		this.isOnlineExam = isOnlineExam;
	}

	/**
	 * 获取优先级
	 *
	 * @return
	 */
	public Integer getPrority() {
		return this.prority;
	}

	/**
	 * 设置优先级
	 *
	 * @param prority
	 */
	public void setPrority(Integer prority) {
		this.prority = prority;
	}

	/**
	 * 获取完成时间
	 *
	 * @return
	 */
	public Date getFinishTime() {
		return this.finishTime;
	}

	/**
	 * 设置完成时间
	 *
	 * @param finishTime
	 */
	public void setFinishTime(Date finishTime) {
		this.finishTime = finishTime;
	}

	public String getAnchorImgUrl() {
		return anchorImgUrl;
	}

	public void setAnchorImgUrl(String anchorImgUrl) {
		this.anchorImgUrl = anchorImgUrl;
	}

	public Integer getIsViewPaper() {
		return isViewPaper;
	}

	public void setIsViewPaper(Integer isViewPaper) {
		this.isViewPaper = isViewPaper;
	}

	public Integer getIsPass() {
		return isPass;
	}

	public void setIsPass(Integer isPass) {
		this.isPass = isPass;
	}

	public Integer getExtensionUserNum() {
		return extensionUserNum;
	}

	public void setExtensionUserNum(Integer extensionUserNum) {
		this.extensionUserNum = extensionUserNum;
	}

	public Integer getExtensionHighQualityNum() {
		return extensionHighQualityNum;
	}

	public void setExtensionHighQualityNum(Integer extensionHighQualityNum) {
		this.extensionHighQualityNum = extensionHighQualityNum;
	}

	public Integer getIsRead() {
		return isRead;
	}

	public void setIsRead(Integer isRead) {
		this.isRead = isRead;
	}
}
